MPEG decoders receive and decode field-related data for display. The data associated with a certain field of a picture comprises properties of the field such as, for example, pan-scan, field polarity, aspect ratio, picture size, etc. This data is essential for displaying the correct picture at the correct time. Some of these properties may change with every field, and some may not.
Existing systems utilize MPEG bit streams to send field properties in sequence headers and picture headers. Sequence headers may occur every second or less. Picture headers accompany the pictures. MPEG encodes headers such that they, the headers, can be sent a number of fields ahead of the display time of the field associated with data in the header. As a result, current systems send headers to the decoders with field data sometimes long in advance of the display time of the associated field, and the data is frequently sent out of order. For example, in a system that uses prediction with reference frames, the reference frames (I or P frames) are sent and decoded in a different order from their display order.
Additionally, a portion of the data associated with a certain field may be sent in the sequence header, whereas another portion of the data may be sent in the picture header, yet another portion of the data may be sent at the display time for the field. As a result, the data associated with a field is sent to the decoder at separate times and not necessarily in any specific order. The decoder then decodes the data in the order it is received and sends the decoded information to a host where the fields will be sent for display. The host utilizes host software to sort out the scrambled data and re-order it in the appropriate display order. As a result there may be delays in the display process.
Other problems may arise with such implementations, when erroneous data is sent, the decoder may not make notice of it, because it is out of order, and is only a portion of the data for a certain field. However, this may become problematic at the display stage, when the host software processes the data for a certain field, the errors may be unfixable, and may cause display distortions. This is especially challenging in systems utilizing reference frames for prediction of other frames, where an error in a reference frame surely causes errors in frames predicted based on the reference frame, but there would be no way to know of such problems until the time of display of the frames. As a result, time would have been wasted processing erroneous data that needs to be discarded anyway.
Another problem with existing implementations may be in a situation where a user chooses to pause or skip a certain picture before it is displayed or as it is being displayed. In such a case, because portions of the data associated with the picture may have been sent well ahead of the display time, the host software would have already processed the data and re-ordered it in preparation for the correct display time, but as a result of pausing, for example, all the processed information will be discarded. As a result resources of the system are wasted on processing unnecessary data.
Yet another problem with current implementations is that certain data associated with a field is only sent to the decoder, and later to the display host, if the data changes. This may cause further delays and problems, because the host never knows what data to expect for each frame.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.